/*
* This software is licensed under the GNU General Public License, version 2
* You may copy, distribute and modify the software as long as you track changes/dates of in source files and keep all modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code.

* DNNspot Software (http://www.dnnspot.com)
* Copyright (C) 2013 Atriage Software LLC
* Authors: Kevin Southworth, Matthew Hall, Ryan Doom

* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.

* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

* Full license viewable here: http://www.gnu.org/licenses/gpl-2.0.txt
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DNNspot.LiveChat
{ 

    public static class PortalSettingNames
    {
        public static string ChatOfflineMessage = "ChatOfflineMessage";
        public static string ChatOnlineMessage = "ChatOnlineMessage";
        public static string QueueTimeout = "QueueTimeout";
        public static string QueueTimeoutMessage = "QueueTimeoutMessage";
        public static string WelcomeMessage = "WelcomeMessage";
    }

    public class ControlKeys
    {
        public const string EditAgent = "Agent";
        public const string EditCategory = "Category";
        public const string EditSession = "Session";
    }

    public class Cookies
    {
        public const string ClientId = "DNNspotLiveChatClientId";
    }

    public class HandlerActions
    {
        public const string CloseSession = "CloseSession";
        public const string CreateSession = "CreateSession";
        public const string EmailSession = "EmailSession";
        public const string GetOpenSessions = "GetOpenSessions";
        public const string GetSessionState = "GetSessionState";
        public const string JoinSession = "JoinSession";
        public const string LoginAgent = "LoginAgent";
        public const string LogoutAgent = "LogoutAgent";
        public const string PostMessage = "PostMessage";
        public const string ReassignSession = "ReassignSession";
        public const string ReloadQueue = "ReloadQueue";
        public const string UpdateSession = "UpdateSession";
    }

    public class Params
    {
        public const string Action = "Action";

        public const string AgentId = "AgentId";
        public const string CategoryId = "CategoryId";
        public const string ClientId = "ClientId";
        public const string MessageId = "MessageId";
        public const string PortalId = "PortalId";
        public const string SessionId = "SessionId";
        public const string SessionIds = "SessionIds";
        public const string UserId = "UserId";

        public const string FirstName = "FirstName";
        public const string LastName = "LastName";
        public const string Email = "Email";
        public const string Ip = "Ip";
        public const string MessageBody = "MessageBody";
        public const string Notes = "Notes";
        public const string Question = "Question";
        public const string UrlReferrer = "UrlReferrer";

        public const string PageNumber = "page";
        public const string PageSize = "rp";
        public const string Query = "query";
        public const string QueryColumns = "qtype";
        public const string SortColumn = "sortname";
        public const string SortDirection = "sortorder";

        public const string MaxMessagesPerSession = "MaxMessagesPerSession";
    }

    public class PostBackEvents
    {
        public const string EditAgent = "EditAgent";
        public const string EditCategory = "EditCategory";
        public const string EditSession = "EditSession";
    }

    public class ModuleSettings
    {
        //public const string SerialNumber = "DNNspot_LiveChat_SerialNumber";
        public const string NoJQuery = "DNNspot_LiveChat_NoJQuery";
        public const string FolderName = "DNNspot-LiveSupport";
    }
}
